# Набор шаблонов для сайтов Hugo от Radium
## Подключение темы на сайте
Настройте [слияние](https://gohugo.io/configuration/introduction/#merge-configuration-settings) конфигурации в hugo.toml, указав:
```toml
_merge = 'deep'
```
## Параметры
Все используемые параметры должны содержаться в настройках сайта в .Params.radium
publisher
: ссылка на профиль публикатора для элементов JSON-LD.
external_rel
: rel по умолчанию для абсолютных ссылок.
## render hooks
### render-link
Вставляет ссылку с разрешённым назначением ссылки.
Для абсолютных ссылок указывает rel из настроек сайта или значение по умолчанию `noopener noreferrer external`.
## Шаблоны
### baseof
Базовый шаблон, включающий индексирование Pagefind только для main тега.
Для тега html устанавливается язык и направление, если оно явно прописано в настройках языка.
В шаблоне подключаются partial head, header, footer.
Блок main должен быть переопределён в отдельных шаблонах.
Блок head может быть переопределён в отдельных шаблонах, если требуется добавить что-то в тэг head.
## Partials
### element
Создаёт HTML элемент, с именем тэга = .tag, атрибутами = .attributes, содержимым .inner.
Если тэг не установлен, то проставляется значение по умолчанию `tag`.
### image
Отображает изображение, передаваемое в .image.
.image должен быть ресурсом, полученным через .Resources.Get* или resources.Get*.
Для SVG изображений производит сжатие, а для всех остальных указывает ширину и высоту.
Если установлен .alt, то устанавливает атрибут alt.
### logo
Отображает логотип со ссылкой.
Параметры:
- image - имя ресурса сайта с логотипом (img/logo.svg)
- class - класс ссылки, содержащей логотип (logo)
- link - ссылка, которая будет указана для логотипа (главная страница с учётом языка)
- alt - атрибут alt изображения (Logo image)
### head/favicon, head/apple-touch-icon
Связывают страницу с имеющимися favicon или apple-touch-icon.
Для поиска favicon применяется маска {,**/}favicon.*, а для apple-touch-icon - {,**/}apple-touch-icon*.png
### head/manifest
Связывает страницу с manifest.json, находящимся в корне assets/
### head/css
Подключает css/main.css
### head/js
Подключает js/main.js
### head/pagefind
Подключение стилей и скрипта, если окружение не является разработкой.
### head/atom
Подключает link на feed atom, если для данного типа страниц предусмотрена генерация.
### head/base
Добавляет title, description и canonical в заголовок, а также meta charset + viewport.
### schema
Подключает JSON-LD схемы для связанных объектов.
Подключение в head:
```go-html-template
{{- .Store.Set "schema" "Person" }}
{{- partial "schema/json-ld.html" . | safeHTML }}
```
#### Статья
Для указания publisher в статье укажите publisher в Params страницы, либо в настройках сайта.
## Shortcodes
### details
Корректный details, позволяющий рендерить html.
Аналогично [стандартному](https://gohugo.io/shortcodes/details/#article) shortcode, за исключением способа вызова — необходимо использовать вызов {{% details %}} для рендера внутреннего текста в качестве Markdown.
### a
Создаёт ссылку с атрибутами href, class, id, rel.
Полезно для установки rel.
Вызывает partial/element.
Если необходимы другие атрибуты, то переопределите этот shortcode.